#ifndef __FACADE_H__
#define __FACADE_H__

class SubSystemA
{
public:
    SubSystemA();
    ~SubSystemA();

    void Operation();
};

class SubSystemB
{
public:
    SubSystemB();
    ~SubSystemB();

    void Operation();
};

class SubSystemC
{
public:
    SubSystemC();
    ~SubSystemC();

    void Operation();
};


class Facade
{
public:
    Facade();
    ~Facade();

    void Operation();

private:
    SubSystemA *A;
    SubSystemB *B;
    SubSystemC *C;
};


#endif

